<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Library Evolutionary Algorithms for Clustering (LEAC): include/dist_euclidean.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="leac_logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Library Evolutionary Algorithms for Clustering (LEAC)
   &#160;<span id="projectnumber">Version 1.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">dist_euclidean.hpp</div>  </div>
</div><!--header-->
<div class="contents">
<a href="dist__euclidean_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#ifndef __DIST_EUCLIDEAN_HPP</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#define __DIST_EUCLIDEAN_HPP</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &lt;cmath&gt;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;stdexcept&gt;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="dist_8hpp.html">dist.hpp</a>&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="matrix_8hpp.html">matrix.hpp</a>&quot;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="instance_8hpp.html">instance.hpp</a>&quot;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="distance__operation_8hpp.html">distance_operation.hpp</a>&quot;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="matrix__operation_8hpp.html">matrix_operation.hpp</a>&quot;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="linear__algebra__level1_8hpp.html">linear_algebra_level1.hpp</a>&quot;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="linear__algebra__level2_8hpp.html">linear_algebra_level2.hpp</a>&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include  &quot;<a class="code" href="common_8hpp.html">common.hpp</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">namespace  </span><a class="code" href="namespacedist.html">dist</a> {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">template</span> &lt; <span class="keyword">class </span>T_DIST,</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;           <span class="keyword">class </span>T_FEATURE</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;           &gt;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="structdist_1_1_euclidean.html">   44</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structdist_1_1_euclidean.html">Euclidean</a>: <span class="keyword">public</span> <a class="code" href="structdist_1_1_dist.html">Dist</a>&lt;T_DIST,T_FEATURE&gt; {</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="structdist_1_1_euclidean.html#a9003bd51ecb4b4766dfdd24d8a57c6b0">   45</a></span>&#160;  <span class="keyword">inline</span> T_DIST <a class="code" href="structdist_1_1_euclidean.html#a9003bd51ecb4b4766dfdd24d8a57c6b0">operator() </a>(<span class="keyword">const</span> T_FEATURE *aiarrayT_p, <span class="keyword">const</span> T_FEATURE* aiarrayT_q, <span class="keyword">const</span>  <a class="code" href="common_8hpp.html#a3f6c33fb604556cdc425e7aa2289d009">uintidx</a> uintidx_length)<span class="keyword"> const</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacedist.html#a32fc945efb8cbd2bd1d65eac5cd3668c">kernelEuclidean</a>(aiarrayT_p,aiarrayT_q,uintidx_length);</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  }</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;}; <span class="comment">/* Dist */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">template</span> &lt; <span class="keyword">class </span>T_DIST,</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;           <span class="keyword">class </span>T_FEATURE</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;           &gt;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structdist_1_1_euclidean_squared.html">   58</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structdist_1_1_euclidean_squared.html">EuclideanSquared</a>: <span class="keyword">public</span> <a class="code" href="structdist_1_1_dist.html">Dist</a>&lt;T_DIST,T_FEATURE&gt; {</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structdist_1_1_euclidean_squared.html#a71e2f010e4180cbaf1fa4fda1c52fe00">   59</a></span>&#160;  <span class="keyword">inline</span> T_DIST <a class="code" href="structdist_1_1_euclidean_squared.html#a71e2f010e4180cbaf1fa4fda1c52fe00">operator() </a>(<span class="keyword">const</span> T_FEATURE *aiarrayT_p, <span class="keyword">const</span> T_FEATURE* aiarrayT_q, <span class="keyword">const</span> <a class="code" href="common_8hpp.html#a3f6c33fb604556cdc425e7aa2289d009">uintidx</a> uintidx_length)<span class="keyword"> const </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacedist.html#a7fc2d2b171f5568e3296e28e724ff142">kernelEuclideanSquared</a>(aiarrayT_p,aiarrayT_q,uintidx_length);</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  }</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;}; <span class="comment">/* EuclideanSquared */</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*INDUCE  DIST --------------------------------------------------------------------</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">*/</span>  </div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">#if  DATATYPE_CENTROIDS_ROUND == 0</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">template</span> &lt; <span class="keyword">class </span>T_DIST,</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;           <span class="keyword">class </span>T_FEATURE</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;           &gt;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="structdist_1_1_induced.html">   79</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structdist_1_1_induced.html">Induced</a>: <span class="keyword">public</span> <a class="code" href="structdist_1_1_dist.html">Dist</a>&lt;T_DIST,T_FEATURE&gt; {</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="structdist_1_1_induced.html#aeaf186caf547f2cb0b5b3d57fba6bf3a">   80</a></span>&#160;  <a class="code" href="structdist_1_1_induced.html#aeaf186caf547f2cb0b5b3d57fba6bf3a">Induced</a>()</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    : <a class="code" href="structdist_1_1_induced.html#a0fd4ccee9d1f55a22cd348ea1c1b97c0">_matrix_weight</a>(NULL)</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    , <a class="code" href="structdist_1_1_induced.html#adae7707503ee5ee42b429bef0e8ab796">_arrayt_xt</a>(NULL)</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    , <a class="code" href="structdist_1_1_induced.html#a487d5a52b47ff2db7132828af16b30b6">_arrayt_x</a>(NULL)</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  {}</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="structdist_1_1_induced.html#ab50d240f8b2fd7beb36ef5e9f65f25d0">   85</a></span>&#160;  <a class="code" href="structdist_1_1_induced.html#ab50d240f8b2fd7beb36ef5e9f65f25d0">Induced</a>(<span class="keyword">const</span> <a class="code" href="classmat_1_1_matrix_row.html">mat::MatrixRow&lt;T_DIST&gt;</a>&amp; aimatrix_weight)</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    : <a class="code" href="structdist_1_1_induced.html#a0fd4ccee9d1f55a22cd348ea1c1b97c0">_matrix_weight</a>(aimatrix_weight)</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    , <a class="code" href="structdist_1_1_induced.html#adae7707503ee5ee42b429bef0e8ab796">_arrayt_xt</a>(new T_DIST[aimatrix_weight.getNumColumns()])</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    , <a class="code" href="structdist_1_1_induced.html#a487d5a52b47ff2db7132828af16b30b6">_arrayt_x</a>(new T_DIST[aimatrix_weight.getNumColumns()])</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  {}</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  </div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="structdist_1_1_induced.html#a70d5771138c7a3558977f04ac93fa1e9">   92</a></span>&#160; <span class="keyword">virtual</span>  <a class="code" href="structdist_1_1_induced.html#a70d5771138c7a3558977f04ac93fa1e9">~Induced</a>()</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  {</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keywordflow">if</span> ( <a class="code" href="structdist_1_1_induced.html#adae7707503ee5ee42b429bef0e8ab796">_arrayt_xt</a> != NULL ) {</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      <span class="keyword">delete</span> []<a class="code" href="structdist_1_1_induced.html#adae7707503ee5ee42b429bef0e8ab796">_arrayt_xt</a>;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <span class="keyword">delete</span> []<a class="code" href="structdist_1_1_induced.html#a487d5a52b47ff2db7132828af16b30b6">_arrayt_x</a>;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    }</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  }</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; </div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="structdist_1_1_induced.html#acabb4cf4cfa7cbfeff24227292724a2a">  100</a></span>&#160;  T_DIST <a class="code" href="structdist_1_1_induced.html#acabb4cf4cfa7cbfeff24227292724a2a">operator() </a>(<span class="keyword">const</span> T_FEATURE *aiarrayT_p, <span class="keyword">const</span> T_FEATURE* aiarrayT_q, <span class="keyword">const</span> <a class="code" href="common_8hpp.html#a3f6c33fb604556cdc425e7aa2289d009">uintidx</a> uintidx_length)<span class="keyword"> const </span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    T_DIST  loT_dist;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    </div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <a class="code" href="namespaceinterfacesse.html#a925f44ed84d40e9af5050fa0e1373396">interfacesse::copy</a></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      (<a class="code" href="structdist_1_1_induced.html#a487d5a52b47ff2db7132828af16b30b6">_arrayt_x</a>,</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;       aiarrayT_p,</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;       uintidx_length</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;       );</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <a class="code" href="namespaceinterfacesse.html#a9dd5fb43ad8a83ee5cb2f5ba1bb2085b">interfacesse::axpy</a></div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      (<a class="code" href="structdist_1_1_induced.html#a487d5a52b47ff2db7132828af16b30b6">_arrayt_x</a>,</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;       T_FEATURE(-1),</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;       aiarrayT_q,</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;       uintidx_length</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;       );</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    </div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <a class="code" href="namespaceinterfacesse.html#a20b4ab13ada231e7ba92e3d98c4cd602">interfacesse::gemv</a></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      (<a class="code" href="structdist_1_1_induced.html#adae7707503ee5ee42b429bef0e8ab796">_arrayt_xt</a>,</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;       <a class="code" href="structdist_1_1_induced.html#a0fd4ccee9d1f55a22cd348ea1c1b97c0">_matrix_weight</a>,</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;       <a class="code" href="structdist_1_1_induced.html#a487d5a52b47ff2db7132828af16b30b6">_arrayt_x</a></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;       );</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      </div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    loT_dist = </div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      <a class="code" href="namespaceinterfacesse.html#a2f42addf86fc8b9cd0c6620217b8a2db">interfacesse::dot</a></div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      (<a class="code" href="structdist_1_1_induced.html#adae7707503ee5ee42b429bef0e8ab796">_arrayt_xt</a>,</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;       <a class="code" href="structdist_1_1_induced.html#a487d5a52b47ff2db7132828af16b30b6">_arrayt_x</a>,</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;       uintidx_length</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;       );</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keywordflow">return</span> loT_dist;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    </div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;  }</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="structdist_1_1_induced.html#a0fd4ccee9d1f55a22cd348ea1c1b97c0">  136</a></span>&#160;  <a class="code" href="classmat_1_1_matrix_row.html">mat::MatrixRow&lt;T_DIST&gt;</a> <a class="code" href="structdist_1_1_induced.html#a0fd4ccee9d1f55a22cd348ea1c1b97c0">_matrix_weight</a>;</div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="structdist_1_1_induced.html#adae7707503ee5ee42b429bef0e8ab796">  137</a></span>&#160;  T_DIST*           <a class="code" href="structdist_1_1_induced.html#adae7707503ee5ee42b429bef0e8ab796">_arrayt_xt</a>;</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="structdist_1_1_induced.html#a487d5a52b47ff2db7132828af16b30b6">  138</a></span>&#160;  T_DIST*           <a class="code" href="structdist_1_1_induced.html#a487d5a52b47ff2db7132828af16b30b6">_arrayt_x</a>;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;}; <span class="comment">/* Induced */</span></div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="keyword">template</span> &lt; <span class="keyword">class </span>T_DIST,</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;           <span class="keyword">class </span>T_FEATURE</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;           &gt;</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="structdist_1_1_induced_square_root.html">  149</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structdist_1_1_induced_square_root.html">InducedSquareRoot</a>: <span class="keyword">public</span> <a class="code" href="structdist_1_1_induced.html">Induced</a>&lt;T_DIST,T_FEATURE&gt; {</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="structdist_1_1_induced_square_root.html#a87e7d3f7a942f569206bd54be97b1c73">  150</a></span>&#160;  <a class="code" href="structdist_1_1_induced_square_root.html#a87e7d3f7a942f569206bd54be97b1c73">InducedSquareRoot</a>()</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    : <a class="code" href="structdist_1_1_induced.html">Induced</a>&lt;T_DIST,T_FEATURE&gt;()</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  {</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  }</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  </div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="structdist_1_1_induced_square_root.html#a658d908f2127bcf5591f98561f88cf9d">  155</a></span>&#160;  <a class="code" href="structdist_1_1_induced_square_root.html#a658d908f2127bcf5591f98561f88cf9d">InducedSquareRoot</a>(<span class="keyword">const</span> <a class="code" href="classmat_1_1_matrix_row.html">mat::MatrixRow&lt;T_DIST&gt;</a>&amp; aimatrix_weight)</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    : <a class="code" href="structdist_1_1_induced.html">Induced</a>&lt;T_DIST,T_FEATURE&gt;(aimatrix_weight)</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  {</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  }</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  </div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="structdist_1_1_induced_square_root.html#a96132a50566cf50cc020d56a9f1b36b0">  160</a></span>&#160; <span class="keyword">virtual</span>  <a class="code" href="structdist_1_1_induced_square_root.html#a96132a50566cf50cc020d56a9f1b36b0">~InducedSquareRoot</a>()</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  {</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  }</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160; </div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="structdist_1_1_induced_square_root.html#a3cb45f87829e0fcff1013ae6c89f079b">  164</a></span>&#160;  T_DIST <a class="code" href="structdist_1_1_induced_square_root.html#a3cb45f87829e0fcff1013ae6c89f079b">operator() </a>(<span class="keyword">const</span> T_FEATURE *aiarrayT_p, <span class="keyword">const</span> T_FEATURE* aiarrayT_q, <span class="keyword">const</span> <a class="code" href="common_8hpp.html#a3f6c33fb604556cdc425e7aa2289d009">uintidx</a> uintidx_length)<span class="keyword"> const </span></div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="keywordflow">return</span> std::sqrt(<a class="code" href="structdist_1_1_induced.html">Induced&lt;T_DIST,T_FEATURE&gt;::operator</a>()(aiarrayT_p,aiarrayT_q,uintidx_length)); </div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;  }</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;  </div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;};<span class="comment">/* InducedSquareRoot */</span></div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="preprocessor">#endif //DATATYPE_CENTROIDS_ROUND</span></div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;  </div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;} <span class="comment">/*END namespace dist </span></div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="comment">   */</span></div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/*__DIST_EUCLIDEAN_HPP*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div><div class="ttc" id="structdist_1_1_induced_square_root_html_a3cb45f87829e0fcff1013ae6c89f079b"><div class="ttname"><a href="structdist_1_1_induced_square_root.html#a3cb45f87829e0fcff1013ae6c89f079b">dist::InducedSquareRoot::operator()</a></div><div class="ttdeci">T_DIST operator()(const T_FEATURE *aiarrayT_p, const T_FEATURE *aiarrayT_q, const uintidx uintidx_length) const</div><div class="ttdef"><b>Definition:</b> <a href="dist__euclidean_8hpp_source.html#l00164">dist_euclidean.hpp:164</a></div></div>
<div class="ttc" id="dist_8hpp_html"><div class="ttname"><a href="dist_8hpp.html">dist.hpp</a></div><div class="ttdoc">operations for the calculation of distances between objects</div></div>
<div class="ttc" id="structdist_1_1_induced_html_a0fd4ccee9d1f55a22cd348ea1c1b97c0"><div class="ttname"><a href="structdist_1_1_induced.html#a0fd4ccee9d1f55a22cd348ea1c1b97c0">dist::Induced::_matrix_weight</a></div><div class="ttdeci">mat::MatrixRow&lt; T_DIST &gt; _matrix_weight</div><div class="ttdef"><b>Definition:</b> <a href="dist__euclidean_8hpp_source.html#l00136">dist_euclidean.hpp:136</a></div></div>
<div class="ttc" id="distance__operation_8hpp_html"><div class="ttname"><a href="distance__operation_8hpp.html">distance_operation.hpp</a></div><div class="ttdoc">Distance operation.</div></div>
<div class="ttc" id="namespacedist_html"><div class="ttname"><a href="namespacedist.html">dist</a></div><div class="ttdoc">Module for definition of distance between objects or instances.</div></div>
<div class="ttc" id="structdist_1_1_euclidean_squared_html_a71e2f010e4180cbaf1fa4fda1c52fe00"><div class="ttname"><a href="structdist_1_1_euclidean_squared.html#a71e2f010e4180cbaf1fa4fda1c52fe00">dist::EuclideanSquared::operator()</a></div><div class="ttdeci">T_DIST operator()(const T_FEATURE *aiarrayT_p, const T_FEATURE *aiarrayT_q, const uintidx uintidx_length) const</div><div class="ttdef"><b>Definition:</b> <a href="dist__euclidean_8hpp_source.html#l00059">dist_euclidean.hpp:59</a></div></div>
<div class="ttc" id="structdist_1_1_induced_html_a70d5771138c7a3558977f04ac93fa1e9"><div class="ttname"><a href="structdist_1_1_induced.html#a70d5771138c7a3558977f04ac93fa1e9">dist::Induced::~Induced</a></div><div class="ttdeci">virtual ~Induced()</div><div class="ttdef"><b>Definition:</b> <a href="dist__euclidean_8hpp_source.html#l00092">dist_euclidean.hpp:92</a></div></div>
<div class="ttc" id="matrix_8hpp_html"><div class="ttname"><a href="matrix_8hpp.html">matrix.hpp</a></div><div class="ttdoc">matrix</div></div>
<div class="ttc" id="common_8hpp_html_a3f6c33fb604556cdc425e7aa2289d009"><div class="ttname"><a href="common_8hpp.html#a3f6c33fb604556cdc425e7aa2289d009">uintidx</a></div><div class="ttdeci">uint32_t uintidx</div><div class="ttdef"><b>Definition:</b> <a href="common_8hpp_source.html#l00020">common.hpp:20</a></div></div>
<div class="ttc" id="structdist_1_1_induced_html_ab50d240f8b2fd7beb36ef5e9f65f25d0"><div class="ttname"><a href="structdist_1_1_induced.html#ab50d240f8b2fd7beb36ef5e9f65f25d0">dist::Induced::Induced</a></div><div class="ttdeci">Induced(const mat::MatrixRow&lt; T_DIST &gt; &amp;aimatrix_weight)</div><div class="ttdef"><b>Definition:</b> <a href="dist__euclidean_8hpp_source.html#l00085">dist_euclidean.hpp:85</a></div></div>
<div class="ttc" id="structdist_1_1_induced_html_adae7707503ee5ee42b429bef0e8ab796"><div class="ttname"><a href="structdist_1_1_induced.html#adae7707503ee5ee42b429bef0e8ab796">dist::Induced::_arrayt_xt</a></div><div class="ttdeci">T_DIST * _arrayt_xt</div><div class="ttdef"><b>Definition:</b> <a href="dist__euclidean_8hpp_source.html#l00137">dist_euclidean.hpp:137</a></div></div>
<div class="ttc" id="namespaceinterfacesse_html_a2f42addf86fc8b9cd0c6620217b8a2db"><div class="ttname"><a href="namespaceinterfacesse.html#a2f42addf86fc8b9cd0c6620217b8a2db">interfacesse::dot</a></div><div class="ttdeci">T dot(T *aoarrayt_y, T *aiarrayt_x, const uintidx aiui_lengthArray)</div><div class="ttdoc">swap items of aoarrayt_y to aiarrayt_x</div><div class="ttdef"><b>Definition:</b> <a href="interface__level1_8hpp_source.html#l00114">interface_level1.hpp:114</a></div></div>
<div class="ttc" id="namespaceinterfacesse_html_a925f44ed84d40e9af5050fa0e1373396"><div class="ttname"><a href="namespaceinterfacesse.html#a925f44ed84d40e9af5050fa0e1373396">interfacesse::copy</a></div><div class="ttdeci">void copy(T *aoarrayt_y, const T *aiarrayt_x, const uintidx aiui_lengthArray)</div><div class="ttdoc">copy array aoarrayt_x in aoarrayt_y of type T</div><div class="ttdef"><b>Definition:</b> <a href="interface__level1_8hpp_source.html#l00069">interface_level1.hpp:69</a></div></div>
<div class="ttc" id="classmat_1_1_matrix_row_html"><div class="ttname"><a href="classmat_1_1_matrix_row.html">mat::MatrixRow&lt; T_DIST &gt;</a></div></div>
<div class="ttc" id="structdist_1_1_induced_html"><div class="ttname"><a href="structdist_1_1_induced.html">dist::Induced</a></div><div class="ttdoc">Dist induced for real number   .</div><div class="ttdef"><b>Definition:</b> <a href="dist__euclidean_8hpp_source.html#l00079">dist_euclidean.hpp:79</a></div></div>
<div class="ttc" id="common_8hpp_html"><div class="ttname"><a href="common_8hpp.html">common.hpp</a></div><div class="ttdoc">common</div></div>
<div class="ttc" id="structdist_1_1_induced_square_root_html"><div class="ttname"><a href="structdist_1_1_induced_square_root.html">dist::InducedSquareRoot</a></div><div class="ttdoc">Dist induced sqrt for real number   .</div><div class="ttdef"><b>Definition:</b> <a href="dist__euclidean_8hpp_source.html#l00149">dist_euclidean.hpp:149</a></div></div>
<div class="ttc" id="namespacedist_html_a7fc2d2b171f5568e3296e28e724ff142"><div class="ttname"><a href="namespacedist.html#a7fc2d2b171f5568e3296e28e724ff142">dist::kernelEuclideanSquared</a></div><div class="ttdeci">double kernelEuclideanSquared(const double *aiarrayd_p, const double *aiarrayd_q, const uintidx uintidx_length)</div><div class="ttdoc">Gets the square Euclidean distance of two double n-dimensional points with SSE.</div><div class="ttdef"><b>Definition:</b> <a href="dist__kernel__64bits_8hpp_source.html#l00068">dist_kernel_64bits.hpp:68</a></div></div>
<div class="ttc" id="structdist_1_1_induced_square_root_html_a658d908f2127bcf5591f98561f88cf9d"><div class="ttname"><a href="structdist_1_1_induced_square_root.html#a658d908f2127bcf5591f98561f88cf9d">dist::InducedSquareRoot::InducedSquareRoot</a></div><div class="ttdeci">InducedSquareRoot(const mat::MatrixRow&lt; T_DIST &gt; &amp;aimatrix_weight)</div><div class="ttdef"><b>Definition:</b> <a href="dist__euclidean_8hpp_source.html#l00155">dist_euclidean.hpp:155</a></div></div>
<div class="ttc" id="structdist_1_1_induced_square_root_html_a87e7d3f7a942f569206bd54be97b1c73"><div class="ttname"><a href="structdist_1_1_induced_square_root.html#a87e7d3f7a942f569206bd54be97b1c73">dist::InducedSquareRoot::InducedSquareRoot</a></div><div class="ttdeci">InducedSquareRoot()</div><div class="ttdef"><b>Definition:</b> <a href="dist__euclidean_8hpp_source.html#l00150">dist_euclidean.hpp:150</a></div></div>
<div class="ttc" id="structdist_1_1_euclidean_html"><div class="ttname"><a href="structdist_1_1_euclidean.html">dist::Euclidean</a></div><div class="ttdoc">Euclidean distance.</div><div class="ttdef"><b>Definition:</b> <a href="dist__euclidean_8hpp_source.html#l00044">dist_euclidean.hpp:44</a></div></div>
<div class="ttc" id="linear__algebra__level2_8hpp_html"><div class="ttname"><a href="linear__algebra__level2_8hpp.html">linear_algebra_level2.hpp</a></div><div class="ttdoc">linear algebra level 2</div></div>
<div class="ttc" id="linear__algebra__level1_8hpp_html"><div class="ttname"><a href="linear__algebra__level1_8hpp.html">linear_algebra_level1.hpp</a></div><div class="ttdoc">linear algebra level1</div></div>
<div class="ttc" id="structdist_1_1_euclidean_html_a9003bd51ecb4b4766dfdd24d8a57c6b0"><div class="ttname"><a href="structdist_1_1_euclidean.html#a9003bd51ecb4b4766dfdd24d8a57c6b0">dist::Euclidean::operator()</a></div><div class="ttdeci">T_DIST operator()(const T_FEATURE *aiarrayT_p, const T_FEATURE *aiarrayT_q, const uintidx uintidx_length) const</div><div class="ttdef"><b>Definition:</b> <a href="dist__euclidean_8hpp_source.html#l00045">dist_euclidean.hpp:45</a></div></div>
<div class="ttc" id="matrix__operation_8hpp_html"><div class="ttname"><a href="matrix__operation_8hpp.html">matrix_operation.hpp</a></div><div class="ttdoc">matrix operation</div></div>
<div class="ttc" id="structdist_1_1_dist_html"><div class="ttname"><a href="structdist_1_1_dist.html">dist::Dist</a></div><div class="ttdoc">Generic dist.</div><div class="ttdef"><b>Definition:</b> <a href="dist_8hpp_source.html#l00034">dist.hpp:34</a></div></div>
<div class="ttc" id="structdist_1_1_euclidean_squared_html"><div class="ttname"><a href="structdist_1_1_euclidean_squared.html">dist::EuclideanSquared</a></div><div class="ttdoc">Euclidean distance sqrt.</div><div class="ttdef"><b>Definition:</b> <a href="dist__euclidean_8hpp_source.html#l00058">dist_euclidean.hpp:58</a></div></div>
<div class="ttc" id="instance_8hpp_html"><div class="ttname"><a href="instance_8hpp.html">instance.hpp</a></div><div class="ttdoc">Module for the handling of instances or also called objects or points.</div></div>
<div class="ttc" id="structdist_1_1_induced_square_root_html_a96132a50566cf50cc020d56a9f1b36b0"><div class="ttname"><a href="structdist_1_1_induced_square_root.html#a96132a50566cf50cc020d56a9f1b36b0">dist::InducedSquareRoot::~InducedSquareRoot</a></div><div class="ttdeci">virtual ~InducedSquareRoot()</div><div class="ttdef"><b>Definition:</b> <a href="dist__euclidean_8hpp_source.html#l00160">dist_euclidean.hpp:160</a></div></div>
<div class="ttc" id="structdist_1_1_induced_html_aeaf186caf547f2cb0b5b3d57fba6bf3a"><div class="ttname"><a href="structdist_1_1_induced.html#aeaf186caf547f2cb0b5b3d57fba6bf3a">dist::Induced::Induced</a></div><div class="ttdeci">Induced()</div><div class="ttdef"><b>Definition:</b> <a href="dist__euclidean_8hpp_source.html#l00080">dist_euclidean.hpp:80</a></div></div>
<div class="ttc" id="structdist_1_1_induced_html_acabb4cf4cfa7cbfeff24227292724a2a"><div class="ttname"><a href="structdist_1_1_induced.html#acabb4cf4cfa7cbfeff24227292724a2a">dist::Induced::operator()</a></div><div class="ttdeci">T_DIST operator()(const T_FEATURE *aiarrayT_p, const T_FEATURE *aiarrayT_q, const uintidx uintidx_length) const</div><div class="ttdef"><b>Definition:</b> <a href="dist__euclidean_8hpp_source.html#l00100">dist_euclidean.hpp:100</a></div></div>
<div class="ttc" id="namespacedist_html_a32fc945efb8cbd2bd1d65eac5cd3668c"><div class="ttname"><a href="namespacedist.html#a32fc945efb8cbd2bd1d65eac5cd3668c">dist::kernelEuclidean</a></div><div class="ttdeci">double kernelEuclidean(const double *aiarrayd_p, const double *aiarrayd_q, const uintidx uintidx_length)</div><div class="ttdoc">Gets the Euclidean distance of two double n-dimensional points with SSE.</div><div class="ttdef"><b>Definition:</b> <a href="dist__kernel__64bits_8hpp_source.html#l00043">dist_kernel_64bits.hpp:43</a></div></div>
<div class="ttc" id="namespaceinterfacesse_html_a20b4ab13ada231e7ba92e3d98c4cd602"><div class="ttname"><a href="namespaceinterfacesse.html#a20b4ab13ada231e7ba92e3d98c4cd602">interfacesse::gemv</a></div><div class="ttdeci">void gemv(T *aoarrayt_y, const mat::MatrixRow&lt; T &gt; &amp;aimatrixrowt_a, const T *aiarrayt_x)</div><div class="ttdef"><b>Definition:</b> <a href="interface__level2_8hpp_source.html#l00043">interface_level2.hpp:43</a></div></div>
<div class="ttc" id="structdist_1_1_induced_html_a487d5a52b47ff2db7132828af16b30b6"><div class="ttname"><a href="structdist_1_1_induced.html#a487d5a52b47ff2db7132828af16b30b6">dist::Induced::_arrayt_x</a></div><div class="ttdeci">T_DIST * _arrayt_x</div><div class="ttdef"><b>Definition:</b> <a href="dist__euclidean_8hpp_source.html#l00138">dist_euclidean.hpp:138</a></div></div>
<div class="ttc" id="namespaceinterfacesse_html_a9dd5fb43ad8a83ee5cb2f5ba1bb2085b"><div class="ttname"><a href="namespaceinterfacesse.html#a9dd5fb43ad8a83ee5cb2f5ba1bb2085b">interfacesse::axpy</a></div><div class="ttdeci">void axpy(T_INT1 *aoarrayt_y, const T_INT2 ait_alpha, const T_INT3 *aiarrayt_x, const uintidx aiui_lengthArray)</div><div class="ttdef"><b>Definition:</b> <a href="interface__level1_8hpp_source.html#l00156">interface_level1.hpp:156</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Apr 19 2019 08:58:31 for Library Evolutionary Algorithms for Clustering (LEAC) by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>
